Automatically configuring computer network at hospitality establishment with reservation-specific settings

ABSTRACT

A system includes a storage device for storing details of a plurality of reservations of a hospitality establishment. A particular reservation includes a set of reservation-specific settings affecting behavior of the computer network at the hospitality establishment during the reservation. The settings may include a registered device setting for affecting behavior of a computer network at the hospitality establishment toward a user device having a specified device identifier. The system further includes a clock unit for tracking time, and a system controller coupled to the computer network and having access to the storage device and the clock unit. The system controller automatically configures one or more network components of the computer network when a start time of the particular reservation is reached in order to activate the reservation-specific settings.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/456,148 filed Aug. 11, 2014, which is a continuation of U.S. patentapplication Ser. No. 13/603,901 filed Sep. 5, 2012, which claims thebenefit of Canadian Patent Application No. 2,775,804 filed May 8, 2012.All of these applications are incorporated herein by reference.

BACKGROUND OF THE INVENTION

(1) Field of the Invention

The invention pertains generally to configuring computer networks. Morespecifically, the invention relates to automatically configuringcomputer networks at hospitality establishments such as hotels andresorts with reservation-specific settings.

(2) Description of the Related Art

Hospitality establishments such as hotels and resorts typically providehigh speed Internet access (HSIA) to guests. Often a hospitalityestablishment desires to provide guests with HSIA using a computernetwork installed on the premises but does not wish to design or supportthe network. In this situation, the hospitality establishment maycontract an external vendor to provide an HSIA solution.

An example of a vendor-provided HSIA solution is the One View Internet™(OVI) system by Guest-Tek™. To begin an HSIA session at a hotelemploying the OVI system, a guest connects a user device to the hotel'scomputer network, either through a physical cable such as Ethernet or awireless connection such as WiFi™, and opens a web browser to access aweb site on the Internet. Instead of allowing user devices immediateaccess to the Internet, the OVI system acts as a captive portal andrequires the guest to first log in at a predetermined login portal. Tothis end, a firewall controlling access between the local area network(LAN) of the hotel and the Internet includes a default rule that causesunauthorized user devices to display the login portal in the webbrowser.

At the login portal the guest signs up for Internet access. When theguest is an attendee of an event being held at the hotel such as ameeting or conference, the guest enters a meeting passcode known only toattendees of the event in order to sign in. The OVI system checks themeeting passcode entered by the user to determine whether it matchesthat of an active event currently being held at the hospitalityestablishment. When the guest is an individual staying at the hotel, theguest enters their room number and other personal details, selects adesired bandwidth level and other options such as access duration etc.,provides payment information, and performs other actions such asagreeing to terms and conditions. The OVI system only authorizes theuser device to access the Internet after the guest has successfullycompleted the login process at the login portal.

To authorize a particular user device for HSIA after the login processhas been completed, the OVI system adds a device-specific rule to thefirewall that allows data to flow between the Internet and the uniquemedia access control (MAC) address of the particular user device. Inthis way, only user devices from which guests of the hotel have properlylogged in at the login portal are provided HSIA.

However, some user devices brought to hotels are unable to be logged inat a web-based login portal because the devices either do not includeweb browsing technology or do not permit the guest to access the loginportal.

Examples of user devices that do not include web browsing technologyinclude standalone teleconferencing webcam appliances, routers, InternetProtocol (IP) telephones, and other IP-enabled devices that lack a userinterface capable of displaying the login portal or allowing the guestto enter the required login information. Because these devices are notcapable of utilizing the web-based login portal, they cannot be loggedin and do not gain Internet connectivity at the hotel.

Examples of user devices that do not permit the guest to access thelogin portal include locked-down corporate and military laptops andequipment that is configured to only connect with a designateddestination such as a fixed server address accessed via a company ormilitary virtual private network (VPN). Although these devices mayinclude web browsers that are technically capable of displaying a loginportal, due to security concerns, the device may be configured toactively ignore or block any attempts to cause the device to display thehotel's login portal. Typically the users of such devices have noadministrator rights to modify or override these security settings.Therefore, these devices also cannot be logged in at the login portaland do not gain Internet connectivity at the hotel.

When a guest is unable to log in from a particular user device at thelogin portal such as in the above-described situations, the guest needsto contact support staff to request that the user device be manuallycleared through the hotel's firewall in order to receive HSIA. Often theguest will not realize that manual intervention by support staff isrequired and may waste significant time attempting to troubleshoot thelack of Internet connectivity on their own. When the guest finally doescall technical support for assistance, the guest may not be ready toprovide support staff with the device's unique MAC address, which isrequired in order to manually add a device-specific exception allowingInternet access to the firewall. Helping the guest determine theirdevice's unique MAC address delays call center staff in resolving theproblem and moving onto a next support call.

Manual adjustment of firewall rules by support staff in order to givecertain user devices Internet access both increases the support costs ofthe hospitality establishment's HSIA system and negatively impacts theguest experience. It would be desirable to be able to automaticallyactivate the HSIA service for these devices.

iPass Incorporated offers the iPass Open Mobile Client™ that wheninstalled on a user device automatically logs in the user device uponarrival at an iPass-enabled hotspot or Internet access provider such asa hotel. However, in order for the iPass Open Mobile Client toautomatically log in a new user for Internet access, the user (or theuser's employer in the case of a corporate device) must have previouslysigned up for an iPass account and purchased an amount of Internetaccess in advance. The user also must have previously installed andconfigured the iPass Open Mobile Client software on their device, whichmay not be possible for devices unsupported by iPass's client softwareor for which the user does not have sufficient access rights to installsoftware (e.g., a locked-down corporate/military devices).

International Patent Publication No. WO2011005710 A2 discloses a systemthat allows zones and migration rules between the zones to be configuredwithin a hotel. When a rule is configured to allow migration from afirst zone to a second zone, guests already logged into the first zonemay migrate to the second zone without being forced to re-log in.However, this system still requires the user to first log in and gainaccess to an initial zone upon arrival at the hotel. Only after the userhas logged in from the initial zone will the system allow the user tomigrate to certain other zones in the hotel without being required tore-log in.

BRIEF SUMMARY OF THE INVENTION

According to an exemplary embodiment of the invention a computer networkof a hospitality establishment is automatically configured withreservation-specific network settings. A set of reservation-specificnetwork settings for a particular reservation includes a registereddevice setting specifying a device identifier of a user device thatneeds Internet connectivity while at the hospitality establishment. Byautomatically activating the set of reservation-specific networksettings when a start time of the reservation is reached, the deviceidentifier such as the unique MAC address of the registered user deviceis cleared through the firewall. By automatically deactivating the setof reservation-specific network settings when an end time of thereservation is reached, the registered user device is prevented Internetaccess after the reservation has ended. An advantage of this embodimentis the registered user device is automatically provided high speedInternet access (HSIA) during the active duration of the reservationwithout requiring the device to log in at a web-based login portal.

According to another exemplary embodiment of the invention there isdisclosed a system including a storage device for storing details of aplurality of reservations of a hospitality establishment. A particularreservation of the stored reservations includes a registered devicesetting for affecting behavior of a computer network at the hospitalityestablishment toward a user device having a specified device identifier.The system further includes a clock unit for tracking time, and a systemcontroller coupled to the computer network and having access to thestorage device and the clock unit. The system controller automaticallyconfigures one or more network components of the computer network when astart time of the particular reservation is reached in order to activatethe registered device setting, and automatically configures the one ormore network components when an end time of the particular reservationis reached in order to deactivate the registered device setting.

According to another exemplary embodiment of the invention there isdisclosed a method of configuring a computer network of a hospitalityestablishment. The method includes storing details of a plurality ofreservations of the hospitality establishment, wherein a particularreservation of the stored reservations includes a registered devicesetting for affecting behavior of the computer network toward a userdevice having a specified device identifier. The method further includestracking time with a clock unit, and automatically configuring one ormore network components of the computer network when a start time of theparticular reservation is reached in order to activate the registereddevice setting. The method further includes automatically configuringthe one or more network components when an end time of the particularreservation is reached in order to deactivate the registered devicesetting.

According to another exemplary embodiment of the invention there isdisclosed a tangible computer-readable medium comprising computerexecutable instructions that when executed by a computer cause thecomputer to perform the above-described method.

According to another exemplary embodiment of the invention there isdisclosed an apparatus including a storage device for storing details ofa plurality of reservations of a hospitality establishment, wherein aparticular reservation of the stored reservations includes a registereddevice setting for affecting behavior of a computer network at thehospitality establishment toward a user device having a specified deviceidentifier. The apparatus further includes means for tracking time,means for automatically configuring one or more network components ofthe computer network when a start time of the particular reservation isreached in order to activate the registered device setting, and meansfor automatically configuring the one or more network components when anend time of the particular reservation is reached in order to deactivatethe registered device setting.

According to another exemplary embodiment of the invention there isdisclosed a computer server including a storage device for storingdetails of a plurality of reservations of a hospitality establishment. Aparticular reservation of the stored reservations includes a registereddevice setting for affecting behavior of a computer network at thehospitality establishment toward a user device having a specified deviceidentifier. The computer server further includes a network interfacecoupled to the computer network, a clock unit for tracking time, and oneor more processors coupled to the storage device, the network interface,and the clock unit. The one or more processors are configured toautomatically configure one or more network components of the computernetwork when a start time of the particular reservation is reached inorder to activate the registered device setting, and to automaticallyconfigure the one or more network components when an end time of theparticular reservation is reached in order to deactivate the registereddevice setting.

According to another exemplary embodiment of the invention there isdisclosed a system including a storage device storing details of aplurality of reservations of a hospitality establishment. A particularreservation of the stored reservations includes a user isolationsetting. The system further includes a clock chip tracking time, asystem controller coupled to a computer network at the hospitalityestablishment and having access to the storage device and the clockchip, and an access point coupled to the computer network andbroadcasting a service set identifier (SSID) with which user devices maybe wirelessly associated in order to utilize network resources madeavailable during the particular reservation. When a start time of theparticular reservation is reached, the system controller automaticallyconfigures the access point to selectively activate or deactivate clientisolation for the SSID according to the user isolation setting of theparticular reservation.

These and other advantages and embodiments of the present invention willno doubt become apparent to those of ordinary skill in the art afterreading the following detailed description of the preferred embodimentthat is illustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described in greater detail with reference to theaccompanying drawings which represent preferred embodiments thereof,wherein:

FIG. 1 illustrates a block diagram of a system for automaticallyconfiguring a computer network with reservation-specific networksettings according to an exemplary embodiment of the invention.

FIG. 2 illustrates a user interface (UI) screen allowing an eventorganizer or other authorized user to adjust a set ofreservation-specific network settings for a particular event reservationaccording to an exemplary embodiment of the invention.

FIG. 3 illustrates a flowchart describing a method of configuring acomputer network with reservation-specific network settings according toan exemplary embodiment of the invention.

FIG. 4 illustrates an example of the virtual local area network (VLAN)table of FIG. 1.

FIG. 5 illustrates an example of the location table of FIG. 1.

FIG. 6 illustrates example sub-steps for determining and configuringaffected network components in order to activate the set ofreservation-specific network settings illustrated in the UI screen ofFIG. 2.

FIG. 7 illustrates an example of reservation-specific dynamic hostcontrol protocol (DHCP) server settings and gateway/firewall settings asconfigured by the system controller of FIG. 1 to share a printer duringa particular reservation in which user devices are otherwise isolated.

FIG. 8 illustrates a UI screen allowing modification of informationstored in a user profile database for an exemplary user according to anexemplary embodiment of the invention.

DETAILED DESCRIPTION

FIG. 1 illustrates a block diagram of a system 100 for automaticallyconfiguring a computer network with reservation-specific networksettings according to an exemplary embodiment of the invention. In thisembodiment, the system 100 is employed at a hospitality establishmentsuch as a hotel or resort in order to customize a computer networkproviding high speed Internet access (HSIA) at the hospitalityestablishment with reservation-specific settings of different eventshosted thereat. As illustrated in FIG. 1, a system controller 102 iscoupled to a number of network components via the computer networkingshown as a local area network (LAN) 104 at the hospitality establishmentin this example. Network components of the computer network in thisexample include a dynamic network configuration protocol (DHCP) server106, a web server 108, a bandwidth manager 110, a plurality of wirelessaccess points (APs) 112, a plurality of switches 114, and agateway/firewall 116 coupled to the Internet 118.

For purposes of illustration, in the following description thehospitality establishment is assumed to be a hotel having a number ofavailable locations 122 for hosting events, for example, a first meetingroom 122 a and a second meeting room 122 b. Although only two meetingrooms are shown in this example, any number and type of locations forhosting events may be included in other embodiments. User devices 124are brought to the hotel by guests attending events hosted in themeeting rooms 122; user devices 124 may be coupled to the hotel'scomputer network using either wired technology such as Ethernet portsvia switches 114 or wireless technology such as Wi-Fi™ access via APs112. Examples of user devices 124 include desktop/laptop/netbook/tabletcomputers, mobile phones, printers, fileservers, routers, access points,web cams, virtual private network (VPN) appliances, teleconferencingequipment, gaming consoles, etc.

The system controller 102 in this example is a computer server includingone or more processors 130 coupled to a clock unit 132 and a storagedevice 134. The storage device 134 stores a number of software modulesincluding a controller module 136 and a user interface (UI) module 138for execution by the one or more processors 130. The storage device 134further stores a database having a reservation table 140, a locationtable 142, and a VLAN table 144. In this embodiment a relationaldatabase is utilized to store the tables 140, 142, 144; however, theterm “database” as utilized in this description is meant to refer to anystored collection of organized data, and the term “table” is meant torefer to any subset of the data.

In the following description the plural form of the word “processors”will be utilized as it is common for a CPU of a computer server to havemultiple processors 130 (sometimes also referred to as cores); however,it is to be understood that a single processor 130 may also beconfigured to perform the described functionality in otherimplementations.

The system controller 102 further includes a network interface 146coupled to the LAN 104, which allows the processors 130 to communicatewith network components via the LAN 104. Network components on the localarea network (LAN) 104 may include devices that provide connectivity onthe LAN 103 such as the APs 112 and the switches 114, provide serviceson the LAN 104 such as the DHCP server 106 and the web server 108, orprovide access control on the LAN 104 such as the bandwidth manager 110and the gateway/firewall 116. As shown in FIG. 1, there may also beadditional network components off the LAN 103 such as shown in FIG. 1 bythe one or more external network component(s) 120 coupled to theInternet 118. Examples of external network components 120 includeoffsite controllers, offsite web servers, central storage locations,user profile servers, etc.

Network components may also be integrated together within a single unit.For example, in another embodiment, one or more of the networkcomponents such as DHCP server 106, web server 108, bandwidth manager110, and gateway/firewall 116 are included as additional softwaremodules (not shown) within storage device 134 for execution by theprocessors 130, while the APs 112, the switches 114, and the externalcomponents 120 are external to the system controller 102.

Each network component includes configurable settings that controlcertain functions of the network component. For example, the DHCP server106 includes one or more configurable settings 150, the web server 108includes one or more configurable settings 152, the bandwidth managerincludes one or more configurable settings 154, the APs 122 a,brespectively include one or more configurable settings 156 a,b, theswitches 114 a,b respectively include one or more configurable settings158 a,b, the gateway/firewall 116 includes one or more configurablesettings 160, and the external component(s) each include configurablesettings 162. In a preferred embodiment, the network components storethe configurable settings 150, 152, 154, 156, 158, 160, 162 at thenetwork component in a non -volatile memory or storage device so thatthe component will continue to maintain the same configuration even inthe event of a power failure or restart.

The gateway/firewall 116 couples the LAN 104 to the Internet 118 andacts to control the flow of data between these two networks 104, 118. Asshown, the gateway/firewall 116 may also include other functionalitysuch as network address translation (NAT), redirection server, and/orproxy server functionality; or the gateway/firewall 116 may be replacedwith or installed in addition to one or more servers implementing thesefunctions as required according to application-specific requirements. Inthe following description, the terms “gateway” and “firewall” will beutilized to collectively refer to devices that perform access controlbetween different networks.

The clock unit 132 is a real-time clock chip installed in the systemcontroller 102 that tracks the current time and is kept synchronizedwith the rest of the world by the processors 130 according to one ormore time servers located on the Internet 118. By executing thecontroller module 136, the processors 130 are configured to periodicallycheck whether the start time of any of the pending reservations in thereservation table 140 has been reached. Pending reservations in thisexample refers to reservations stored in the reservation table 140 thathave not yet been determined by the processors 130 to have reached theirstart times. The processors 130 may search the reservation table 140 forpending reservations having a start time prior to the current time astracked by the clock unit 132. It is to be understood that the term“time” in this description may include the date such when a meeting atthe hotel is scheduled to start and end at particular date/timecombinations.

When the start time of a particular reservation is reached, theprocessors 130 automatically send configuration commands to one or morenetwork components via the network interface 146 in order to activate aset of reservation-specific network settings for the particularreservation as stored in the reservation table 140. Thereafter, theprocessors 130 continue to monitor the current time as tracked by theclock unit 132, and, when the end time of the particular reservation isreached, the processors 130 automatically send configuration commands toone or more network components via the network interface 146 in order todeactivate the set of reservation-specific network settings for the nowending reservation.

In this embodiment, the reservation table 140 stores details of aplurality of events that are to be held at the hotel. Examples of eventsinclude conferences, meetings, exhibitions, parties, reunions,ceremonies, etc. Each event reservation has a designated start time, endtime, and one or more reservation-specific network settings.

FIG. 2 illustrates a UI screen 200 allowing an event organizer to adjusta set of reservation-specific network settings for a particular eventreservation as stored in the reservation table 140 of FIG. 1. The UIscreen 200 is a web page screen generated by the processors 130executing the UI module 138. The UI module 138 further configures theprocessors 130 to send hypertext markup language (HTML) for the UIscreen 200 to an authorized destination via the network interface 146.The system controller 102 may thereby behave as a web server allowingevent organizers, hotel staff, or other users to make event reservationsand configure different sets of reservation-specific network settingsfor each event.

According to user selections and input made on the UI screen 200 for aparticular reservation, the processors 130 store the specified set ofreservation-specific network settings in the reservation table 140. UIscreen 200 enables an event organizer or other user to utilize aweb-browser to initially setup a particular reservation and to updatethe reservation's settings both before the event has started and whileit is in progress. An event organizer may utilize a web-enabled deviceconnected to the hotel's LAN 104 such as one of user devices 124 toaccess UI screen 200, which may be beneficial when making changes to anongoing event. Alternatively, the event organizer may utilize aweb-enabled device remote to the hotel such as via the Internet 118,which may be beneficial when setting up an event reservation prior toarrival.

The UI module 138 may further configure the processors 130 to performuser authentication to ensure that the UI screen 200 for a particularreservation is only shown to authorized users associated with thereservation. In some embodiments, hotel staff may be permitted to accessthe UI screen 200 for all reservations stored in the reservation table140.

In the example shown in FIG. 2, the UI screen 200 allows the eventorganizer (or another authorized user) to configure a number of generalsettings that affect the event as a whole, and a number ofdevice-specific settings that only affect one or more specificallyidentified registered user devices that will be coupled to the hotel'scomputer network by an event attendee during the event.

A reservation identifier (ID) 202 is unique to the reservation. Thereservation ID 202 may be automatically generated by the systemcontroller 102 upon the creation of the event reservation.

A description 204 is input by the event organizer to identify thepurpose of the event.

Start time and end time fields 206, 208 are adjustable by the eventorganizer as long as the adjustments do not conflict with other eventreservations in the reservation table 140.

A location(s) setting 210 allows the event organizer to specify specificlocations within the hotel at which the event is to be held. As shown inFIG. 2, a single event may be concurrently held at several differentlocations; however, in a preferred embodiment, the system controller 102checks for event conflicts to prevent multiple events from being held ata same location during a same time period. The processors 130 maydisplay an error message on UI screen 200 notifying the user of timeand/or location conflicts with other event reservations.

The service set identifier (SSID) setting 212 allows the event organizerto specify a text string for the SSID that will be broadcast by wirelessAPs 112 within range of the event location(s). Guests attending theevent may associate their wireless devices to the specified SSID inorder to gain HSIA during the event.

The require login setting 214 allows the event organizer to require thatusers log in before being permitted access to the Internet during theevent. However, even when the require login setting 214 is set to “yes”,as described further below with reference to the registered devicesettings, the UI screen 200 in this exemplary embodiment also allows theevent organizer to register a specific user device 124 for automatic login so that the registered user device will receive HSIA without beingrequired to log in.

The login portal setting 216 species the uniform resource locator (URL)of the login portal to which new users will be redirected or otherwisecaused to view when the require login setting 214 is set to “yes”.

The meeting passcode 218 allows the event organizer to specify therequired meeting passcode for the particular reservation that users willbe required to enter at the login portal in order to gain HSIA duringthe event.

The walled garden site(s) setting 220 allows the event organizer to listURLs for web sites on the Internet 118 that are to be made accessiblethrough the gateway/firewall 116 before a user has logged in at thelogin page 216. These walled garden web sites will be available tonon-logged in users during the event.

The bandwidth limits settings 222 allow the event organizer to specifybandwidth limits such as maximum aggregate bandwidth utilization (Cap)that will be provided to the event as a whole and a guaranteed minimumrate (Rate) that will be provided to the event even when the computernetwork at the hospitality establishment is experiencing highutilization.

The user isolation setting 224 allows the event organizer to specifywhether user devices 124 logged in to a particular meeting are to beisolated from other user devices 124 logged in to the same meeting.

The required number of public IP(s) setting 226 allows the eventorganizer to reserve a required number of the hotel's public IPaddresses for use during the event.

The registered device settings allow the event organizer to register anynumber of specific user devices (e.g. one registered user device per rowin UI screen 200) and to specify a number of registered devicesetting(s) for each registered user device (different device -specificnetwork settings shown in columns in UI screen 200). Whereas theabove-described general settings in this example affect the behavior ofthe computer network at the hotel during the event toward user devices124 in general, the registered device settings affect the behavior ofthe computer network at the hotel during the event toward registereduser devices identified by specified device identifiers (e.g., MACaddresses in column 228).

In this example, the device name setting 228 provides a human-readabledescription to identify the registered user device.

The device identifier (ID) setting 230 allows the event organizer toinput the unique MAC address of the registered user device. In someembodiments, different types of device identifiers other than MACaddresses may also be utilized to identify registered user devices, forexample, subscriber identifier module (SIM) card numbers, Internetprotocol (IP) addresses, hardware or software serial numbers, etc.

The auto login setting 232 allows the event organizer to specify thatthe registered user device should be automatically logged in withoutrequiring the device to be redirected to the login page. When thecheckbox in column 232 is checked, the registered user device will beautomatically cleared through the firewall for the duration of theparticular reservation even when the require login setting 214 for theevent has been set to “yes”.

The user shared setting 234 allows the event organizer to specify thatthe registered user device should be made accessible to other userdevices 124 that are logged in to the event. When the checkbox in column234 is checked, the device will be shared during the event even when theuser isolation setting 224 for the event is set to “yes”.

The device-specific bandwidth limits settings 236 allow the eventorganizer to allocate a specific bandwidth cap and/or rate to theregistered user device.

The public IP column 238 allows the event organizer to select aparticular public IP available at the hospitality establishment to beassigned to the registered user device when it is connected to thehotel's computer network during the event. Being able specify the publicIP address in advance is useful to allow event organizers to setupexternal equipment to use this public IP during the event, and to makeremote attendees aware of the pubic IP that will be utilized during theevent so they can remotely connect to that public IP. For example, theevent organizer of the particular reservation illustrated in FIG. 2 maysend out an instruction email telling remote attendees to connect to theweb cam 242 during the event at the public IP address of“69.46.103.131”. In some embodiments, the system controller 102automatically assigns a free public IP address to the registered userdevice at the start time of the reservation rather than allowing theuser to select the exact public IP in column 238.

As shown in this example, two user devices 124 are registered for theevent including a printer 240 that is to be shared with the other userdevices 124 participating in the event, and a teleconferencing web cam242 that is to be automatically logged in to the event, cleared throughthe gateway/firewall 116, assigned a specific public IP address, andprovided a 5 Mbit/s bandwidth cap and rate to ensure sufficient videoquality during the event. The event organizer may click the “Add newdevice” button to add another device and there may also be buttons on UIscreen 200 (not shown) to allow the event organizer to delete registereduser devices 240,242 that have already been configured.

FIG. 3 illustrates a flowchart describing a method of configuring acomputer network with reservation-specific network settings according toan exemplary embodiment of the invention. In this embodiment, theflowchart represents an algorithm performed by the processors 130 of thesystem controller 102 as specified by instructions of the controllermodule 136. The steps of the flowchart are not restricted to the exactorder shown, and, in other embodiments, shown steps may be omitted orother intermediate steps added.

At step 300, the system controller 102 monitors the value of the currenttime as tracked by the clock unit 132 in order to detect when the starttime 206 of a particular reservation is reached. For example, as shownin FIG. 2, each of the different events to be held at the hospitalitylocation as stored in the reservation table 140 has a defined start timesetting 206. Step 300 may be performed by the processors 130 of thesystem controller 102 executing the controller module 136 in order tosearch the reservation table 140 in the storage device 134 and determinethat the start time 206 for a particular pending reservation has beenreached. In the remaining description, it will be assumed that a singlereservation is determined to be starting at this step; however, morethan one pending reservation may start at the same time, which causesthe system controller 102 to perform the below steps for each of theparticular reservations found to have reached their start times 206.

At step 302, the system controller 102 loads the set ofreservation-specific network settings for the particular reservationfound to be starting at step 300. This step may be performed by theprocessors 130 loading the set of reservation-specific network settingsfor the reservation from the reservation table 14 stored in the storagedevice 134. This initial set of reservation-specific network settingsfor the particular reservation was previously entered on UI screen 200by an organizer while setting up the event reservation.

At step 304, the system controller 102 changes the state of theparticular reservation in the reservation table 140 from pending tocurrent and assigns the reservation ID 202 for the particularreservation as specified in the reservation table 140 to a free virtuallocal area network (VLAN) of the hotel's computer network. Currentreservations correspond to ongoing (i.e., active) events at the hotelfor which the start time has been reached but the end time has not yetbeen reached. In this embodiment, each current reservation at the hotelis assigned to its own VLAN in order to both secure the network trafficof the event by limiting network traffic from each event to its own VLAN(i.e., prevent network usage of one event from interfering with anotherevent) and to facilitate configuring different reservation-specificnetwork settings for each current event.

FIG. 4 illustrates an example of the VLAN table 144 of FIG. 1. In thisembodiment of the invention, the hotel's computer network has aplurality of predetermined VLANs that are used to isolate networktraffic of different reservations. In this embodiment, the number ofpredetermined VLANs corresponds to a maximum number of concurrent eventsthat may held at the hotel at a single time. As event reservationsstart, they are respectively assigned to free VLANs; as eventreservations end, the corresponding VLANs are marked as free again.

As shown in FIG. 4, the VLAN table in this example includes a VLAN tablecolumn 400 listing each of the predetermined VLANs on the computernetwork that may be associated with a current reservation. Thereservation ID column 402 species the reservation ID of the particularreservation (if any) currently associated with the VLAN. The value ofthe reservation ID in column 402 corresponds to the reservation IDsetting 202 as shown in FIG. 2. Free VLANs for which no reservation IDis currently associated are indicated with a “-” in the reservation IDcolumn 402 of FIG. 4. When a particular reservation starts, the systemcontroller 102 associates the reservation ID of the newly startingreservation with a free VLAN, and, when the particular reservation ends,the system controller 102 removes the association of the reservation IDwith that VLAN. In this way, VLAN table 144 indicates the VLANassociated with each of the current reservations at the hotel.

Continuing the description of FIG. 3, at step 306, the system controller102 configures one or more affected network component(s) 106, 108, 110,112, 114, 116, 120 in order to activate the set of reservation-specificnetwork settings loaded at step 302. Configuring a network component mayinvolve sending simple network management protocol (SNMP) messages(e.g., using SNMPv3 as defined by RFC3411-RFC3418, which areincorporated herein by reference) from the system controller 102 to thenetwork component via the LAN 104 and/or the Internet 118. Rather thanconfiguring a network component using SNMP, the system controller 102may instead apply configuration settings using a web interface of thenetwork component. In yet another example, the system controller 102 mayaccess and configure a particular network component by utilizing secureshell (SSH) or telnet in order to access a command line interface (CLI)of the network component. When a CLI is available on a networkcomponent, configuration using the CLI is preferred over traditionalSNMP as supported CLI commands have been found to change less frequentlythan SNMP commands when firmware updates are applied. In general, anyremote configuration technique may be utilized by the system controller102 to access and configure the network component(s).

Further details of how the system controller 102 may determine andconfigure the affected network component(s) of the hotel computernetwork illustrated in FIG. 1 to activate the set ofreservation-specific network settings for the particular reservationillustrated in UI screen 200 of FIG. 2 are provided later in thisdescription with reference to FIG. 5 and FIG. 6.

At step 308, the system controller 102 monitors for changes to the setof reservation-specific network settings for the particular reservationas stored in the reservation table 140. Changes to a current event whileit is in progress may occur when the event organizer (or anotherauthorized user) accesses UI screen 200 in order to update settings forthe event. For example, the event organizer may wish to upgrade one ofthe bandwidth limit settings 222 if attendees at an event complain thatInternet access is too slow. In another example, the event organizer maywish to automatically log in a specific user device 124 by entering thedevice's MAC address in column 230 and checking the checkbox to activateautomatic login 232. In a preferred embodiment, any of theuser-configurable settings shown on UI screen 200 may be updated duringthe event. The processors 130 may periodically check for changes of thereservation-specific network settings in the reservation table 140. Whenthe settings of the current reservation are found to have been changed,control proceeds to step 308; otherwise, control proceeds to step 310.

At step 310, the system controller 102 configures one or more of thenetwork components 106, 108, 110, 112, 114, 116, 120 in order to updatethe set of reservation-specific network settings of the particularreservation according to the changes detected at step 308. Similar tostep 306, this step may involve the system controller 102 remotelyconfiguring an affected network component via the LAN 116 and/or theInternet 118 to deactivate the previously configuredreservation-specific network setting and to activate an updatedreservation-specific network setting. In this way, any of thereservation-specific network settings shown in UI screen 200 may beupdated while the particular reservation is ongoing (i.e., after thestart time of the reservation has been reached and before the end timeof the reservation is reached).

At step 312, the system controller 102 determines whether the end time208 of the particular reservation has been reached. This step may beperformed by the processors 130 monitoring the current time as trackedby the clock unit 132 to determine whether the current time has passedthe end time 208 of the particular reservation as specified in thereservation table 140. When the end time 208 of the particularreservation has been reached, control proceeds to step 312; otherwise,control returns to step 308.

At step 314, because the end time 208 of the reservation has beenreached, the system controller configures one or more network componentsof the hotel's computer network in order to deactivate thereservation-specific network settings for the now ending reservation. Inone embodiment, this step may involve putting the affected networkcomponents back to a default configuration state. In another embodiment,this step may involve configuring network components to change theirsettings to activate the set of reservation-specific network settingsfor a next event that is to be held at the hotel.

At step 316, the system controller 102 de-assigns the reservation ID forthe now completed reservation from the VLAN table 144. In this way, theVLAN that was assigned to the reservation ID of the completedreservation is now freed and may be utilized for a subsequentreservation.

FIG. 5 illustrates an example of the location table 142 of FIG. 1. Thelocation table 142 stores associations between network components andlocations (e.g., meeting rooms in the hotel) and is utilized by thesystem controller 102 to determine one or more affected networkcomponents according to the location(s) setting 210 of a particularreservation. In this example, the location table 142 includes a locationcolumn 500 specifying a location identifier. Human readable descriptionsare utilized in this example for ease of illustration; however, thelocation identifier may be implemented using other types of uniquevalues for each location.

The component type column 502 indicates the type of the networkcomponent being an AP 112 or switch 114 in this example. Although onlyAPs and switches are specifically associated with particular locationsin this example, other types of network components other than or inaddition to APs and switches may be associated with specific locationsand stored in the location table 142 in other embodiments.

The IP address column 504 indicates the IP address of the networkcomponent. The port number column 506 is only applicable to the switches114 and indicates a specific port that is accessible from the locationin column 500.

As shown in FIG. 5, a single switch 114 may have ports associated with afirst location and other ports associated with one or more otherlocations. Additionally, a single AP 112 may be within range of multiplelocations and therefore be associated with multiple locations in thelocation table 142. The location table 142 may be defined when thecomputer network is installed at the hotel and may be updated whenchanges to installed network components are made such as when new APs112 or switches 114 are added to the hotel.

FIG. 6 illustrates example sub-steps for determining and configuringaffected network components in order to activate the set ofreservation-specific network settings of the particular reservationillustrated in the UI screen 200 of FIG. 2. In this embodiment, step 306of FIG. 3 is implemented by the processors 130 performing the sub-stepsof FIG. 6. Similar to the flowchart of FIG. 3, the sub-steps shown inFIG. 6 are not restricted to the exact order shown, and, in otherembodiments, shown sub-steps may be omitted or other intermediatesub-steps added.

At sub-step 600, the system controller 102 configures the switches 114to activate the reservation-specific network settings related to thelocation(s) setting 210 and the user isolation setting 224 shown in FIG.2. This sub-step involves the processors 130 first determining which ofthe switches 114 have ports accessible from the location(s) associatedwith the reservation. As illustrated in FIG. 2, the location(s) setting210 specifies the event is held at “Meeting room A”, “Meeting room B”,and “Meeting room C” in this example. The processors 130 may therebysearch the location table 142 to select the affected switches 114 as theswitches 114 having ports accessible from any of these locations.

After determining the one or more affected switches 114, the processors130 in this example send SNMP commands to the IP addresses of theseswitches 114 via LAN 104 to configure the switches 114 so that the portsaccessible from the event place network traffic on the VLAN associatedwith the event. As shown in FIG. 2, the reservation ID 202 for thisexample event is “3421”; therefore, the ports are locked to VLAN “1123”as this is the VLAN associated with the reservation ID in the VLAN table144 illustrated in FIG. 4. The processors 130 further send SNMP commandsto the affected switches 114 to isolate the event-accessible ports fromone another because the user isolation setting 224 for the event is setto “yes” in FIG. 2. Rather than port isolation settings, access controllists (ACLs) on the switches 114 may instead be remotely configured bythe system controller 102 to achieve a similar result. The switches 114may store their new configuration settings 158 in a non-volatile memoryso that once they have been configured in this sub-step, they remainthus configured until either step 310 or step 314 of FIG. 3 is reached.

At sub-step 602, the system controller 102 configures the APs 112 toactive the reservation-specific network settings related to thelocation(s) setting 210, the SSID setting 212, and the user isolationsetting 224. This sub-step involves the processors 130 first determiningthe one or more affected APs 112 that are within range of the event.According to the location(s) setting 210 of the particular reservation,the processors 130 search the location table 142 to select the APs 112within range of “Meeting room A”, “Meeting room B”, and “Meeting room C”as the affected APs 112. The processors 130 then send SNMP commands tothe IP addresses of these APs 112 via LAN 104 to configure the affectedAPs 112 so that they broadcast a custom SSID for the event as specifiedin the SSID setting 212. The processors 130 further send SNMP commandsvia the LAN 104 to configure the APs 112 to place network traffic of auser devices 124 associated with the custom SSID on the VLAN of thereservation as specified in the VLAN table 144, i.e., “1123” in thisexample as determined at sub-step 600. Finally, the processors 130further send SNMP commands via the LAN 104 to configure the APs 112 toisolate client devices associated with the custom SSID because the userisolation setting 224 for the event is set to “yes” in FIG. 2. The APs112 may store their new configuration settings 156 in a non-volatilememory so that once they have been configured in this sub-step, theyremain thus configured until either step 310 or step 314 of FIG. 3 isreached.

At sub-step 604, the system controller 102 configures the web server 108to activate the reservation-specific network settings of the particularreservation related to the login portal setting 216, the meetingpasscode setting 218, and the walled garden sites 220. This sub-stepinvolves the processors 130 sending SNMP commands to the web server 108via the LAN 104 to activate the login portal at the URL specified in thelogin portal setting 216. The processors 130 further send SNMP commandsto the web server 108 so that the login portal is configured to acceptthe event's passcode as specified in the meeting passcode setting 218.Additionally, the processors 130 further send SNMP commands to the webserver 108 to add links to the walled garden sites 220 to the HTMLcontent of the login page so that users are aware they may browse thewalled garden sites 220 without needing to log in to the event. Otheraspects of the login portal may also be configured by the processors 130in a similar way such as reservation-specific splash pages, welcomemessages, graphics, etc. The web server 108 may store its newconfiguration settings 152 in a non-volatile memory so that once it hasbeen configured in this sub-step, it remains thus configured untileither step 310 or step 314 of FIG. 3 is reached.

In this embodiment, when a user logs in at the login portal provided bythe web server 108 from a user device 124, the web server 108 sends amessage to the system controller 102 to dynamically add adevice-specific exception to the gateway/firewall 116 allowing HSIA forthat user device 124 for the remaining duration of the event.Alternatively, the web server 108 may directly add the device-specificexception to the gateway/firewall 116.

At sub-step 606, the system controller 102 configures the bandwidthmanager 110 to activate the reservation-specific network settings of theparticular reservation related to the general bandwidth cap and ratelimits 222 and any registered user device caps and rates 236. Thissub-step involves the processors 130 sending SNMP commands to thebandwidth manager 110 via the LAN 104 to activate the general bandwidthcap and rate 222 for all traffic on the VLAN associated with the event.As previously described, the VLAN associated with the event may belooked up in the VLAN table 144 according to the reservation ID 202. Theprocessors 130 further send SNMP commands to the bandwidth manager 110to activate any device-specific rates and caps as specified forregistered user devices during the event. Device-specific rates and capsmay be applied to traffic having a source or destination matching thedevice identifier (ID) setting 230 of the registered user device on theVLAN associated with the event. To ensure that the registered userdevice receives its device-specific cap and rate during the event,device specific bandwidth limits may be applied with a higher prioritythan the general bandwidth limits 222 for the event as a whole. Forinstance, in this example, the teleconferencing web cam 242 isregistered with a device-specific cap and rate of 5 Mbit/s, which wouldbe taken from the 30 Mbit/s cap and 10 Mbit/s rate of the event aswhole. The bandwidth manager 110 may store its new configurationsettings 154 in a non-volatile memory so that once it has beenconfigured in this sub-step, it remains thus configured until eitherstep 310 or step 314 of FIG. 3 is reached.

At sub-step 608, the system controller 102 configures the DHCP server106 to activate the reservation-specific network settings of theparticular reservation related to public IP assignments 238 and sharing234 of registered user devices. This sub-step involves the processors130 sending SNMP commands to the DHCP server 106 via the LAN 104 toactivate IP address assignment for the MAC address of a registered userdevice that needs a public IP during an event so that the registereduser device is dynamically configured by the DHCP server 106 uponconnection to the LAN 104 to receive the public IP address 238 specifiedin the registered device settings for the event. As will be explained inmore detail below, the processors 130 further send SNMP commands to theDHCP server 106 to specify devices that are to be shared within an eventso that the DHCP server 106 assigns the shared devices to a differentrange of IP addresses than devices that are to be isolated within theevent. The DHCP server 106 may store its new configuration settings 150in a non-volatile memory so that once it has been configured in thissub-step, it remains thus configured until either step 310 or step 314of FIG. 3 is reached.

At sub-step 610, the system controller 102 configures thegateway/firewall 116 to activate the reservation-specific networksettings of the particular reservation related to the require loginsetting 214, the login portal setting 216, the walled garden sites 220,the auto login setting 232 for registered user devices, and the usershared setting 242 for registered user devices. If the event does notrequire users to login, then the firewall may be configured at thissub-step to allow Internet 118 access for all user devices 124 on theevent's VLAN. However, when the require login setting 214 is set to“yes”, this sub-step involves the processors 130 sending SNMP commandsto the gateway/firewall 116 to activate a default rule that blocksInternet 118 access for all user devices 124 on the VLAN of the eventand redirects them to the specified login portal 216. Additionally, whenthere is at least one walled garden site 220, the processors 130 furthersend SNMP commands to the gateway/firewall 116 to add exceptions to thedefault rule that allow Internet 118 access when the source/destinationaddress corresponds to one of the specified walled garden sites 220.

The processors 130 further send SNMP commands to the gateway/firewall116 to add exceptions to the default rule that allow Internet 118 accessfor each registered user device that has the auto login setting 232enabled. For example, the MAC address in column 230 of theteleconferencing web cam 232 is cleared through the gateway/firewall 116at this time because it has been configured for auto login 232. In thisway, the teleconferencing web cam 232 does not need to first log in atthe event's login page 216 before gaining access to the Internet 118.The processors 130 further send SNMP commands to the gateway/firewall116 to cause it to act as a gateway and pass traffic to and fromregistered user devices such as printer 240 that have the user sharedsetting 234 enabled. Further details of device sharing are providedbelow. The gateway/firewall 116 may store its new configuration settings160 in a non-volatile memory so that once it has been configured in thissub-step, it remains thus configured until either step 310 or step 314of FIG. 3 is reached.

Other sub-steps (not shown) may also be included such as the systemcontroller 102 configuring one or more external network components 120to activate reservation-specific network settings. For example, anexternal network component 120 may need to know the public IP address238 of the teleconferencing web cam 242 in order to connect to the webcam 242 during the event. When the reservation starts, the processors130 may send SNMP commands to one or more external network components120 via the LAN 104 and the Internet 118 in order to notify thesecomponents of the public IP address of the web cam 242 during the event.Additionally, a similar sequence of sub-steps may be performed toactivate a change in one or more of the reservation-specific networksettings during an event (at step 310 of FIG. 3) and when thereservation-specific network settings are deactivated when thereservation end time is reached (at step 314 of FIG. 3).

Also, as previously mentioned, other types of remote configurationbesides or in addition to SNMP commands such as SSH access to a CLI onthe network component to be configured may be employed by the systemcontroller 102.

FIG. 7 illustrates an example of reservation-specific DHCP serversettings 150 and gateway/firewall settings 160 as configured by thesystem controller 102 to share the printer 240 during a particularreservation for which user devices are otherwise isolated. During anevent, user devices 124 may be isolated from each other as a result ofevent organizer setting the user isolation setting 224 to “yes” on theUI screen of FIG. 2. User isolation is particularly useful during eventssuch a conferences and meetings where attendees are not known to eachother or do not trust other attendees. For example, user isolationbeneficially prevents attendees from being able to find and accessinadvertently shared folders on other attendees' computers 124. However,while wishing to generally isolate user devices 124 for the protectionof attendees, the event organizers or one of the attendees may also wishto bring a certain user device 124 such as a printer or file server tothe event and to allow this device to be shared during the event.

Taking the printer 240 of FIG. 2 as an example, the event organizers mayspecify the printer's MAC address in column 230 in the registered devicesettings of the event reservation (either in advance of the event orafter the event has begun). According to these reservation-specificnetwork settings, the system controller 102 automatically configures theDHCP server 106 to update its configuration settings 150 to associatethe printer's MAC address (in column 230) with a particular IP addressbeing in a different range (e.g., a different IP subnet) than the othernon-shared user devices 124 on the same VLAN.

The top portion of FIG. 7 illustrates an example of reservation-specificDHCP server settings 150 as configured by the system controller 102 atsub-step 608. In order to activate the sharing settings for registereduser device(s) of the particular reservation, the system controller 102configures the DHCP server 106 with address assignment rules to beapplied when receiving a DHCP request from a user device 124. As shownin the first row, when a received DHCP request is tagged with the VLANtag of the particular reservation (“1123” in this example) and thesource hardware address matches the MAC address of the printer 240, theDHCP server is configured to assign the user device 124 an IP addresswithin a shared address range as specified in column 704. For example,the DHCP server 106 may assign the printer 240 with an address“192.168.1.1” in a DHCP acknowledgement message. The DHCP server 106also assigns the printer 240 with a default gateway being the IP addressof the gateway/firewall 116 and a subnet mask such as 255.255.255.0 inthis example.

As shown in the second row, when a DHCP request is tagged with VLAN tag“1123” but the source hardware address is any other address (indicatedby a “-” in column 702), the DHCP server 106 will assign this non-shareduser device 124 an IP address within an isolated address range asspecified in column 704.

Because the DHCP server 106 is configured with thesereservation-specific network settings 150, the printer 240 will receivean IP address being within the shared address range. If more than onedevice is to be shared within the event, the DHCP server may easily beconfigured to assign each of the user devices 124 to be shared with anIP addresses in the shared address range as well.

The bottom portion of FIG. 7 illustrates an example ofreservation-specific gateway/firewall 116 settings 160 configured by thesystem controller 102 at sub-step 610. As described above, each eventmay have two ranges of IP addresses for assignment by the DHCP server106, specifically, a shared address range and an isolated address range.In order to allow any of user devices 124 that are assigned IP addressesin the isolated address range to communicate with devices in the sharedaddress range such as the printer 240 in the above example, the systemcontroller 102 configures the gateway/firewall 116 with threereservation-specific rules shown as three rows in the gateway/firewallsettings 160 of FIG. 7.

The first rule allows the transfer of any packets having a sourceaddress in the shared address range on the event's VLAN. For example,this rule allows the printer 240 to advertise its existence on the LAN104 to non-shared user devices 124 in the isolated range such as byusing broadcast IP packets. Well-known protocols such as the ServiceLocation Protocol (SLP) may thereby be utilized by the printer 240.

The second rule causes the gateway/firewall 116 to pass any packethaving a destination IP address in the shared address range. This ruleallows all user devices 124 participating in the particular reservation(i.e., on the event's VLAN) to send packets to the printer 240 such aswhen connecting to the printer and printing documents over the LAN 104.

The third rule causes the gateway/firewall 116 to drop all packets thathave both a source and destination within the isolated address range.This rule ensures isolation of user devices 124 that are not sharedduring the event. Typically, these packets will already be blocked atthe AP 112 or switch 114 level as a result of activating the userisolation setting 224 at sub-steps 600 and 602; however, the third ruleis added to the gateway/firewall 116 to further ensure that thesepackets will also be dropped at the gateway/firewall 116 if they somehowmake it that far.

As shown, the system controller 102 automatically configures thegateway/firewall 116 to allow network traffic to and from devices in theshared address range but block network traffic between devices in theisolated address range. As a result of the reservation -specific networksettings, only devices that have been specifically registered for theevent and have the user shared setting 234 enabled will be assigned anaddress in the shared address range.

When the printer 240 is connected to the LAN during the event, it sendsa DHCP request on the LAN 104. The printer's MAC address in the DHCPrequest matches the first rule in the reservation-specific DHCP settings150; therefore, the DHCP server 106 assigns the printer 240 a specificIP address (e.g., 192.168.1.1) within the shared address range. Whenother user devices 124 are connected to the LAN 104, they also send DHCPrequests. However, their MAC addresses do not match the first rule sothe second rule applies and they are assigned unique addresses in theisolated address range (e.g., 192.168.0.0 to 192.168.0.254 in thisexample).

When a user device 124 such as an attendee's laptop computer tries tosend a packet to another address within the isolated address range(e.g., to an address on the same subnet as determined by the netmasksetting of the user device 124, for example, 192.168.0.11), the userdevice 124 will send the packet directly. Since the APs 112 and theswitches 114 were are all configured at sub-steps 600 and 602 to dropdirect port-to-port and client-to-client network traffic, communicationis impossible. In the event the packet makes it up to thegateway/firewall 116, it will also be dropped as a result of the thirdrule in the gateway/firewall settings 160 described above for FIG. 7.

However, when the user's laptop tries to send a packet to the printer240, because the printer's IP address (192.168.1.1) is in a differentrange (e.g., on a different subnet as determined by the netmask settingof the user device 124), the user device 124 will send the packet to thedefault gateway, which causes the packet to be passed from the switch114/AP 112 to the gateway/firewall 116. The reservation-specificgateway/firewall rules 160 then cause the gateway/firewall 116 to passthe packet back down to the appropriate AP 112/switch 114 for deliveryto the printer 240. Irrespective of the switch port or AP to which theprinter 240 is connected, because the packet is now coming from thegateway/firewall 116 on a different physical port of a switch 114 orfrom the network side of the AP 112, the packet is not blocked at theswitch 114 or the AP 112 and communication is successful. Packets fromthe printer 240 to any of the user devices 124 and broadcast trafficbetween the printer and the user devices on the same VLAN work in asimilar way. The result is user devices 124 may automatically discoverthe shared printer 240 without manual configuration and may communicatewith the printer 240 during the event, but the user devices 124 areotherwise isolated from each other so user device 124 security ismaintained during the event.

The DHCP server 106 may be dynamically configured by the systemcontroller 102 to assign any number of user devices IP addresses ineither the shared or isolated address ranges. The switches 114, APs 112,and gateway/firewall 116 may be dynamically configured by the systemcontroller to allow traffic between a device in the shared address rangeand another device in the isolated address range, while blocking trafficbetween devices that are both in the isolated address range. Theseconfigurations are dynamically triggered when the event starts and areautomatically removed when the event ends.

The shared and isolated address ranges may be predetermined for eachVLAN or be dynamically created by the system controller 102. Forexample, each event VLAN may have a first range of predeterminedaddresses forming the shared address range and a second range ofpredetermined addresses forming the isolated address range.Alternatively, all user device addresses on the event VLAN may initiallybe assumed to be within the isolated address range, and the sharedaddress range on a particular reservation VLAN may be dynamicallycreated for each registered device having the user shared setting 234 onUI screen 200 enabled. With reference to the printer 240 of FIG. 2, theshared address range may in fact consist of a single IP address becausethe reservation-specific network settings for this event only specify asingle device (e.g., the printer 240) is to be shared.

In an advantageous embodiment, user devices 124 may be registered in areservation by conference organizers or other users to be automaticallylogged in to when the particular reservation starts. This allows devicesthat cannot log in at the web portal to still gain HSIA during theevent. Users may specify a device identifier 230 for each registereduser device and enable an auto login setting 232 using a web interfaceUI screen 200. When the reservation start time 206 is reached, thesystem controller 102 automatically logs in the registered user devicesfor the event and configures the gateway/firewall 116 to allow trafficbetween the Internet and each registered user device's MAC address. Whenthe reservation end time 208 is reached, the system controller 102automatically logs out the device and removes these cleared MAC addressrule(s) from the gateway/firewall 116.

In this way, user devices 124 brought to the meeting that cannot belogged in at the hotel's login portal may be registered for the eventand be automatically authorized Internet access during the event.Because event organizers may be authorized to directly register devicesand configure auto login settings 232 on UI screen 200, the supportcosts of the system are reduced while the guest experience is enhanced.For example, in many cases the event organizers will be able topre-register the specific devices for automatic login before the eventstarts. In this case, the system will “just work” and these user deviceswill be online immediately when the event starts. Alternatively, if aparticular device is having problems accessing the Internet during anevent, rather than calling support staff on the phone, other users atthe event such as event organizers may directly access UI screen 200 andupdate the reservation-specific network settings to automatically log inthe device according to its unique device identifier (e.g., MACaddress).

In an advantageous embodiment, specific registered user devices may beshared within an event while still maintaining isolation between otheruser devices 124. The above examples have focuses on a shared printer240; however, similar benefits apply to other types of user devices 124that may be brought to an event such as file servers, web servers,database servers, screen projectors, gaming consoles, etc.

In an advantageous embodiment, the system controller 102 may applyreservation-specific network configurations to network components bothon and off the hotel LAN 104 without requiring the network componentsthemselves to support reservations or events. For example, as long asthe DHCP server 106, web server 108, bandwidth manager 110, APs 112,switches 114, gateway/firewall 116, and external component(s) 120 shownin FIG. 1 allow remote configuration such as by SNMP, SSH, telent, webaccess, etc., their respective configurations may be changed at any timeto activate reservation-specific network settings by the systemcontroller 102. This is beneficial to reduce the cost of the system 100because it may be constructed using existing and low-cost networkcomponents that already support remote configuration.

In an advantageous embodiment, only a single reservation table 140 needbe maintained, which facilitates backup and recovery in the case of afailure. As shown in FIG. 1, the system controller 102 includes thereservation table 140 in storage device 134. The system controller 102actively sends configuration commands to dynamically reconfigure thevarious network components as events begin and end, and when changes aremade during an event. Reservation-specific network settings for allevents may be stored in a single set of data on a single device (e.g.,event reservations table 140 on storage device 134). Although eachnetwork component may store current configuration settings 150, 152,154, 156, 158, 160, 162 in a local non-volatile memory, these are onlythe current settings as determined by the system controller 102. Thereis no need to manage multiple copies of the reservation-specific networksettings or preprogram multiple network components with time-based eventreservation settings. Reliability of system 100 is thereby increasedbecause at any time the network components are only configured withsettings pertaining to current events rather than all future (i.e.,pending) events.

In an advantageous embodiment, event organizers may make changes to theevent reservations via the UI screen 200 at any time—even while theevent is in progress. As shown at step 308 in FIG. 3, when a change tothe reservation-specific network settings is made during the time theevent is already in progress, the system controller 102 may dynamicallyreconfigure the affected network components to deactivate the previoussettings and activate the updated settings according to the changes madeat UI screen 200. This provides greater control to event organizers andother users such as hotel staff and support staff to correct mistakes inthe original event reservation or to upgrade settings such as bandwidthduring the event when needed.

In an advantageous embodiment, hospitality establishments do not need topredefine and sell a single event structure using astatically-configured computer network. Instead, each event may have itsown customized reservation-specific network settings, and the system 100dynamically configures itself as events start and finish to activate anddeactivate those settings. This benefits customers of the hospitalityestablishment such as event organizers because the computer network maybe tailored to the requirements of the event. Additionally, because thecustomers may directly setup and support their own events via a UIscreen 200 such as illustrated in FIG. 2, event setup, support andmaintenance costs of the hospitality establishment may be reduced.

In an advantageous embodiment, registered user devices such as theteleconferencing web cam 242 in FIG. 2 that are assigned public IPs donot need to first login and then be rebooted or reconnected to thenetwork in order to get the public IP address. Instead, the systemcontroller 102 preconfigures the DHCP server 106 when the event starttime 206 of the event is reached so that the system is ready to assignthe public IP to the registered device upon first connection. Forexample, when the web cam 242 is connected to the hotel network duringthe event, it immediately receives its designated public IP address 238.Similar techniques may also be applied in other configurations to assigna particular private IP address to a registered device if thehospitality establishment wishes to offer specific private IP addressassignment as a possible reservation-specific network setting. Forexample, the event organizer may wish to configure a fileserver to havea known private IP address during the event to facilitate connection tothe fileserver from another user device 124 during the event.

Although the above description has focused on reservations related toevents held at the hospitality establishment such as meetings andconferences, the invention is also applicable to individual guestreservations at the hospitality establishment. For example, in someembodiments, a guest may make a reservation at the hospitalityestablishment such as when a guest books a guest room for vacation orbusiness trip. During the reservation process, the guest may be able tospecify reservation-specific network settings such as those illustratedin FIG. 2.

Although some of the general settings illustrated in FIG. 2 are tailoredto events and may not be applicable to individual guest reservations,the registered device settings shown in FIG. 2 are applicable toindividual guest reservations and beneficially allow individual gueststo register specific user devices. For instance, a guest may plan tobring an electronic gaming console such as an Xbox™ along with them on atrip in order to be able to play online games during downtime spent atthe hotel. As the games are online games, the electronic gaming consolerequires Internet 118 connectivity during the guest's stay at the hotel.

To prevent the need for the guest to use a web-browser mode of thegaming console in order to login at the hotel's web-based login portal,the guest may specify the device identifier (e.g., MAC address) of thegaming console in column 230 and check the auto login setting 232 on UIscreen 200 as a part of the guest's reservation process. Theseregistered device settings may be stored in the reservation table 140.The system controller 102 then automatically configures thegateway/firewall 116 when the start time 206 of the guest's reservationis reached in order to clear the gaming console's MAC address forInternet 118 access such as by adding a device-specific exception to thelogin rule. When the end time 208 of the guest's reservation is reachedthe system controller 102 automatically configures the gateway/firewall116 in order remove the gaming console's MAC address exception andthereby prevent it from obtaining Internet 118 access without firstlogging in.

Similar benefits apply other types of user devices 124 the guest maywish to bring to the hotel, for example, user devices 124 that cannotlog in at the hotel's web-based login portal such as those described inthe background section. In some embodiments, the settings may beautomatically applied by the system controller 102 to the guest'sregistered room similar to how the above-described event reservationsettings were applied to the location(s) 210 of the event.

In some embodiments, rather than requiring guests to specify the deviceidentifiers of registered user devices in the reservation process, theguest may instead setup a user profile that is utilized by a pluralityof hospitality establishments. The user profile may be centrally storedat a storage device at a user profile server such as one of the externalnetwork components 120 in FIG. 1. The guest's reservation at the hotelmay be linked to the guest's individual user profile by a common useridentifier such as a loyalty program membership identifier.

FIG. 8 illustrates a UI screen 800 allowing modification of informationstored in a user profile database for an exemplary user according to anexemplary embodiment. In this embodiment, each guest of the hotel mayaccess UI screen 800 being a webpage in order to modify the deviceidentifiers associated with their user profile. The UI screen 800 may begenerated by UI module 138 or by another external network component 120such as a central user profile server to users over the Internet 118.

As shown in FIG. 8, each user may have any number of user devices 124associated with their user profile account. User device names are listedin column 802 with each user device's corresponding device identifier(e.g., MAC address) shown in column 804. These fields are editable bythe user, and the user may add new user devices or remove user devicesto their user profile at any time.

The UI screen 800 further allows each guest of the hotel to modify useridentifiers associated with their account in columns 810, 812, and 814.The user identifiers associated with a particular account in thisexample are all the various loyalty program membership numbers utilizedby the user at different hospitality establishments. Each hospitalityestablishment is listed in column 810 with the user's correspondingloyalty program member identifier and user type at the specifichospitality establishment listed in columns 812 and 814, respectively.In some embodiments, the user may be able to freely adjust the loyaltynumber in column 812, but may need to perform an upgrade process byclicking an “upgrade” button 820 in order to upgrade to higher user typeat a particular hospitality establishment in order to change the usertype value in column 814. The upgrade process may involve a payment.

Before accessing UI screen 800, users may need to authenticatethemselves to either the UI module 136 or a user profile server (e.g.,one of the external network components 120 in FIG. 1) such as byentering a username/password combination.

Additionally, in addition to user access, staff at the hotel andadministrators of the user profile server may be able to access the UIscreen 800 for any user account in order to assist users when required.

With reference to FIG. 3, an exemplary use case scenario of thisembodiment involves a user creating a user profile by interacting withUI screen 800 before step 300. The user stores on their user profile theMAC addresses of the electronic devices they will bring to the hotel andfor which they want to have the hotel's HSIA service automaticallyactivated. The user further stores the loyalty program numberidentifiers belonging to the user at the various hospitalityestablishments at which the user will be a guest. The user then makes areservation at a hotel and provides the hotel with the user's loyaltyprogram number identifier applicable to that hotel chain. In someembodiments a registered device settings on the hotel reservation allowsthe user to specify that they wish all the user devices on their userprofile to be automatically cleared through the hotel's gateway/firewall116 when the reservation start time is reached.

At step 300, the user's pending reservation becomes a currentreservation (i.e., the scheduled check-in date/time is reached).

At step 302, the controller module 136 loads the reservation detailsfrom the reservation table 140. As previously mentioned, the reservationdetails include the user's loyalty program member identifier as the useridentifier. The controller module 136 therefore queries a user profiledatabase (e.g., stored on a user profile server such as external networkcomponent 120 in FIG. 2) via the Internet 118 to determine whether thereis a user profile listing one or more registered user device settingsassociated with the user's identifier (e.g., loyalty program memberidentifier).

As shown in FIG. 8, in some embodiments each hospitality establishmenthas a unique site identifier utilized when querying the user profiledatabase in order to obtain the MAC address(es) associated with theuser's loyalty program member identifier at the specific hospitalityestablishment where the reservation was made. For example, withreference to FIG. 8, when the user is staying at the “Galactic Hotel(4)”, the user identifier (122-32-2345) is determined to be associatedwith the various MAC addresses of the user's associated devices incolumn 804. Alternatively, when the user is staying at the “BeachesResort (135)”, user identifier (“5E3DA7”) is determined to be associatedwith the same MAC addresses in column 804. The user may thereby travelto different hospitality establishments having different types of theloyalty program member identifiers, and the user's various user devicesare recognized and correlated to the user's respective user identifieras employed at each of the different hospitality establishments.

After determining the various MAC address(es) associated with the user'suser identifier (e.g., loyalty program member identifier), control thenproceeds to step 304. The flowchart of FIG. 3 thereafter proceeds in asimilar manner as previously described. In particular, at step 306, thevarious MAC addresses found associated with the user's loyalty programmember identifier are cleared through the gateway/firewall 116. In thisway, these devices will not be required to log in at the hotel'sweb-based login portal while the user's reservation is current at thehotel.

In some embodiments, further information retrieved from the user profilemay be utilized when reconfiguring network components at the hotel. Forexample, service entitlements of the HSIA service at the hotel may beautomatically set by the controller module 136 according to the usertype column 814 shown in FIG. 9. In this way, when the user'sreservation starts at a hospitality establishment at which the user is a“VIP”, the controller module 136 automatically configures thegateway/firewall 116 to clear the MAC addresses in column 804 forInternet 118 access and configures the bandwidth manager 110 to givethese MAC addresses a preferential bandwidth allotment. Alternatively,when the user's reservation starts at a hospitality establishment atwhich the user is a “Regular user”, the controller module 136automatically configures the gateway/firewall 116 to clear the MACaddresses in column 804 for Internet 118 access but does not configurethe bandwidth manager 110 to give these MAC addresses a preferentialbandwidth allotment.

In other embodiments, the service entitlements may be set according tothe room type for which the user is registered. For example, the roomtype of the user's assigned guest room may be retrieved by thecontroller module 136 from a property management system (PMS) at thehotel.

In summary, an exemplary system for automatically configuring a computernetwork at a hospitality establishment with reservation-specificsettings includes a storage device for storing details of a plurality ofreservations of a hospitality establishment. A particular reservationincludes a registered device setting for affecting behavior of acomputer network at the hospitality establishment toward a user devicehaving a specified device identifier. The system further includes aclock unit for tracking time, and a system controller coupled to thecomputer network and having access to the storage device and the clockunit. The system controller automatically configures one or more networkcomponents of the computer network when a start time of the particularreservation is reached in order to activate the registered devicesetting, and automatically configures the one or more network componentswhen an end time of the particular reservation is reached in order todeactivate the registered device setting.

Although the invention has been described in connection with a preferredembodiment, it should be understood that various modifications,additions and alterations may be made to the invention by one skilled inthe art. In one modification, a central system controller maydynamically reconfigure network components at a plurality of differenthospitality establishments. For example, the system controller 102 ofFIG. 1 may be placed outside the hospitality establishment such as onthe Internet 118 so it can thereby communicate with the networkcomponents of a plurality of hospitality establishments. Thegateway/firewall 116 at each establishment may be preconfigured to allowthe central system controller to communicate with network components onthe establishment's LAN. In this embodiment, the locations setting 210in FIG. 2 and the location table 142 in FIG. 5 may further associatenetwork components with the different hospitality establishments. Thecentral system controller may further select the affected networkcomponents to be configured as a particular reservation starts and endsaccording to the hospitality establishment at which the particularreservation is held.

In another example modification, instead of the system controller 102directly accessing the internal clock unit 132 and the internal storagedevice 134 as illustrated in FIG. 2, the clock unit 132 and storagedevice 134 may be located external to the system controller and accessedby the system controller 102 via the LAN 104 and/or Internet 118.

In another example modification, rather than storing a specific starttime 206 and end time 208 for each event in the reservation table 140,the end time may be calculated as start time plus a particular duration,or start time may be calculated as end time minus a particular duration.

Although the invention has been described as being utilized at a hotel,the invention is equally applicable to any hospitality relatedestablishment or service wishing to customize a computer network withreservation-specific network settings including but not limited tohotels, motels, resorts, conference centers, hospitals,apartment/townhouse complexes, restaurants, coffee shops, retirementcenters, cruise ships, busses, airlines, shopping centers, passengertrains, etc. The invention may also be beneficially employed in otherapplications outside the hospitality industry such as by corporations orany other entity wishing to customize a network for differentreservations.

The various separate elements, features, and modules of the inventiondescribed above may be integrated or combined into single units.Similarly, functions of single elements, features, and modules may beseparated into multiple units.

The modules may be implemented as dedicated hardware modules, and themodules may also be implemented as one or more software programsexecuted by a general or specific purpose processor to cause theprocessor to operate pursuant to the software program to perform theabove-described module functions. For example, the system controller 102of FIG. 1 may be implemented by a computer server having one or moreprocessors 130 executing a computer program loaded from a storage mediasuch as storage device 134 to perform the above-described functions ofthe controller module 136 and UI module 138.

The flowcharts may be implemented as processes executed by dedicatedhardware, and may also be implemented as one or more software programsexecuted by a general or specific purpose processor(s) to cause theprocessor(s) to operate pursuant to the software program to perform theflowchart steps. In this way, a tangible computer-readable medium storescomputer executable instructions that when executed by a computer causethe computer to perform above-described steps and sub-steps of FIG. 3and FIG. 6. Examples of the tangible computer-readable medium includeoptical media (e.g., CD-ROM, DVD discs), magnetic media (e.g., harddrives, diskettes), and other electronically readable media such asflash storage devices and memory devices (e.g., RAM, ROM). Thecomputer-readable medium may be local to the computer executing theinstructions, or may be remote to this computer such as when coupled tothe computer via a computer network. For example, the system controller102 of FIG. 1 may be implemented by a computer having one or moreprocessors 130 executing a computer program loaded from a hard drivelocated within the computer or elsewhere to perform the steps of thevarious flowcharts and above description. In one embodiment, thecomputer is a computer server connected to a network such as theInternet 118 and the computer program stored in the hard drive may bedynamically updated by an update server (not shown) coupled to theInternet 118. In addition to a dedicated physical computing device, theword “server” may also mean a service daemon on a single computer,virtual computer, or shared physical computer, for example.

Unless otherwise specified, features described may be implemented inhardware or software according to different design requirements.Additionally, all combinations and permutations of the above describedfeatures and embodiments may be utilized in conjunction with theinvention.

What is claimed is:
 1. A system comprising: a storage device storing aplurality of stored reservations for a hospitality establishment;wherein a particular reservation of the stored reservations includes aregistered device setting for affecting behavior of a network at thehospitality establishment toward a user device having a specified deviceidentifier, and the registered device setting specifies that the userdevice having the specified device identifier is to be provided with apublic internet protocol (IP) address during the particular reservation;a dynamic host configuration protocol (DHCP) server coupled to thenetwork; a clock chip tracking time; and a system controller coupled tothe network and having access to the storage device and the clock chip;wherein the system controller is operable to automatically configure thedynamic host configuration protocol (DHCP) server via the network when astart time of the particular reservation is reached to thereby cause thedynamic host configuration protocol (DHCP) server to assign an availablepublic IP address when receiving a DHCP request from the specifieddevice identifier; and the system controller is operable toautomatically configure the dynamic host configuration protocol (DHCP)server when an end time of the particular reservation is reached tothereby cause the dynamic host configuration protocol (DHCP) server toassign an available private IP address when receiving a subsequent DHCPrequest from the specified device identifier; whereby, when the userdevice is connected to the network and requests an IP address during theparticular reservation, the user device is assigned the available publicIP address from the dynamic host configuration protocol (DHCP) server;and when the user device is connected to the network and requests a newIP address after the end time of the particular reservation, the userdevice is assigned the available private IP address from the dynamichost configuration protocol (DHCP) server.
 2. The system of claim 1,wherein: the registered device setting further specifies a designatedpublic IP address to be assigned to the user device during theparticular reservation; and the system controller is operable toautomatically configure the dynamic host configuration protocol (DHCP)server via the network when the start time of the particular reservationis reached to thereby cause the dynamic host configuration protocol(DHCP) server to assign the designated public IP address when receivingthe DHCP request from the specified device identifier.
 3. The system ofclaim 2, further comprising: a reservation server allowing a user tosetup details of the particular reservation; wherein the reservationserver is operable to allow the user to select the designated public IPto be assigned to the user device when the user device is connected tothe network during the particular reservation.
 4. The system of claim 1,wherein the system controller is operable to automatically select theavailable public IP address from a plurality of free public availableaddresses at the hospitality establishment when the start time of theparticular reservation is reached.
 5. The system of claim 1, wherein:the registered device setting further specifies a required number ofpublic IP addresses during the particular reservation; and the systemcontroller is operable to automatically reserve the required number ofpublic IP addresses so that they are available during the particularreservation.
 6. The system of claim 1, wherein the system controller isfurther operable to automatically send a message to an external devicevia the network in order to notify the external device of the availablepublic IP address assigned to the user device during the particularreservation, the external device being a different device than thedynamic host configuration protocol (DHCP) server.
 7. A method ofconfiguring a network of a hospitality establishment, the methodcomprising: storing a plurality of stored reservations for thehospitality establishment; wherein a particular reservation of thestored reservations includes a registered device setting for affectingbehavior of the network at the hospitality establishment toward a userdevice having a specified device identifier, and the registered devicesetting specifies that the user device having the specified deviceidentifier is to be provided with a public internet protocol (IP)address during the particular reservation; tracking current time by asystem controller; automatically configuring a dynamic hostconfiguration protocol (DHCP) server by the system controller via thenetwork when a start time of the particular reservation is reached tothereby cause the dynamic host configuration protocol (DHCP) server toassign an available public IP address when receiving a DHCP request fromthe specified device identifier; and automatically configuring thedynamic host configuration protocol (DHCP) server by the systemcontroller when an end time of the particular reservation is reached tothereby cause the dynamic host configuration protocol (DHCP) server toassign an available private IP address when receiving a subsequent DHCPrequest from the specified device identifier; whereby, when the userdevice is connected to the network and requests an IP address during theparticular reservation, the user device is assigned the available publicIP address from the dynamic host configuration protocol (DHCP) server;and when the user device is connected to the network and requests a newIP address after the end time of the particular reservation, the userdevice is assigned the available private IP address from the dynamichost configuration protocol (DHCP) server.
 8. The method of claim 7,wherein: the registered device setting further specifies a designatedpublic IP address to be assigned to the user device during theparticular reservation; and the method further comprises automaticallyconfiguring the dynamic host configuration protocol (DHCP) server viathe network when the start time of the particular reservation is reachedto thereby cause the dynamic host configuration protocol (DHCP) serverto assign the designated public IP address when receiving the DHCPrequest from the specified device identifier.
 9. The method of claim 8,further comprising allowing the user to select the designated public IPto be assigned to the user device when the user device is connected tothe network during the particular reservation by interacting with a userinterface provided by a web server.
 10. The method of claim 7, furthercomprising automatically selecting the available public IP address froma plurality of free public available addresses at the hospitalityestablishment by the system controller when the start time of theparticular reservation is reached.
 11. The method of claim 7, wherein:the registered device setting further specifies a required number ofpublic IP addresses during the particular reservation; and the methodfurther comprises automatically reserving by the system controller therequired number of public IP addresses so that they are available duringthe particular reservation.
 12. The method of claim 7, furthercomprising automatically sending a message to an external device via thenetwork in order to notify the external device of the available publicIP address assigned to the user device during the particularreservation, the external device being a different device than thedynamic host configuration protocol (DHCP) server.
 13. An apparatuscomprising: a storage device storing a plurality of stored reservationsfor a hospitality establishment; wherein a particular reservation of thestored reservations includes a registered device setting for affectingbehavior of a network at the hospitality establishment toward a userdevice having a specified device identifier, and the registered devicesetting specifies that the user device having the specified deviceidentifier is to be provided with a public interne protocol (IP) addressduring the particular reservation; a network interface coupled to thenetwork; a clock chip tracking time; and one or more processors coupledto the storage device, the network interface, and the clock chip;wherein, by executing software instructions loaded from the storagedevice, the one or more processors are operable to automaticallyconfigure a dynamic host configuration protocol (DHCP) server via thenetwork when a start time of the particular reservation is reached tothereby cause the dynamic host configuration protocol (DHCP) server toassign an available public IP address when receiving a DHCP request fromthe specified device identifier; and the one or more processors arefurther operable to automatically configure the dynamic hostconfiguration protocol (DHCP) server when an end time of the particularreservation is reached to thereby cause the dynamic host configurationprotocol (DHCP) server to assign an available private IP address whenreceiving a subsequent DHCP request from the specified deviceidentifier; whereby, when the user device is connected to the networkand requests an IP address during the particular reservation, the userdevice is assigned the available public IP address from the dynamic hostconfiguration protocol (DHCP) server; when the user device is connectedto the network and requests a new IP address after the end time of theparticular reservation, the user device is assigned the availableprivate IP address from the dynamic host configuration protocol (DHCP)server.
 14. The apparatus of claim 13, wherein: the registered devicesetting further specifies a designated public IP address to be assignedto the user device during the particular reservation; and the one ormore processors are further operable to automatically configure thedynamic host configuration protocol (DHCP) server via the network whenthe start time of the particular reservation is reached to thereby causethe dynamic host configuration protocol (DHCP) server to assign thedesignated public IP address when receiving the DHCP request from thespecified device identifier.
 15. The apparatus of claim 14, wherein theone or more processors are further operable to allow the user to selectthe designated public IP to be assigned to the user device when the userdevice is connected to the network during the particularreservation byinteracting with a user interface.
 16. The apparatus of claim 13,wherein the one or more processors are further operable to automaticallyselect the available public IP address from a plurality of free publicavailable addresses at the hospitality establishment when the start timeof the particular reservation is reached.
 17. The apparatus of claim 13,wherein the one or more processors are further operable to automaticallysend a message to an external device via the network in order to notifythe external device of the available public IP address assigned to theuser device during the particular reservation, the external device beinga different device than the dynamic host configuration protocol (DHCP)server.